home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / hf^k-6.dms / in.adf / Install.run / GOLDEDDATA / arexx / execute.ged < prev    next >
Encoding:
Text File  |  1996-11-10  |  1.9 KB  |  100 lines

  1. /* $VER: 1.0, ©1996 Dietmar Eilert. Executes lines of a text as DOS commands */
  2.  
  3. OPTIONS RESULTS                             /* enable return codes     */
  4.  
  5. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  6.     address 'GOLDED.1'
  7.  
  8. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  9.  
  10. if (RC ~= 0) then
  11.     exit
  12.  
  13. OPTIONS FAILAT 25                           /* ignore any errors       */
  14.  
  15. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  16.  
  17. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  18.  
  19. 'QUERY CAT'
  20. GERMAN = (RESULT = "deutsch")
  21.  
  22. if (GERMAN) then do
  23.  
  24.     NOTEXT    = "Kein Text vorhanden ?!"
  25.     ASKACTION = "Aktion auswählen..."
  26.     ACTIONGAD = "!OK|_Weiter|_Abbruch"
  27. end
  28. else do
  29.  
  30.     NOTEXT    = "Text buffer is empty ?!"
  31.     ASKACTION = "Choose action..."
  32.     ACTIONGAD = "!EXECUTE|_Ignore|_Stop"
  33. end
  34.  
  35. 'QUERY PATH VAR PATH'
  36.  
  37. shell
  38. pragma('D', path)
  39. shell
  40.  
  41. if (right(path, 1) ~= ':') then
  42.     path = path || '/'
  43.  
  44. 'QUERY ANYTEXT'
  45.  
  46. if (RESULT = "TRUE") then do
  47.  
  48.     'MARK HIDE'
  49.  
  50.     'QUERY LINE   VAR LINE'
  51.     'QUERY LINES  VAR LINES'
  52.     'QUERY BUFFER VAR COMMAND'
  53.  
  54.     do while (line <= lines)
  55.  
  56.         'QUERY ANYCHAR'
  57.  
  58.         if (RESULT = "TRUE") then do
  59.  
  60.             'MARK SET'
  61.             'REQUEST BODY="' || ASKACTION || '" BUTTON="' || ACTIONGAD || '"'
  62.             
  63.             if (RESULT = 0) then
  64.                 leave
  65.  
  66.             if (RESULT = 1) then do
  67.  
  68.                 'QUERY BUFFER VAR COMMAND'
  69.  
  70.                 shell
  71.                 COMMAND
  72.                 shell
  73.             end
  74.  
  75.             'MARK HIDE'
  76.         end
  77.  
  78.         'DOWN'
  79.         line = line + 1
  80.     end
  81.  
  82.     'MARK HIDE'
  83. end
  84. else
  85.     'REQUEST PROBLEM="' || NOTEXT || '"'
  86.  
  87. /* ---------------------------- END OF YOUR CODE --------------------- */
  88.  
  89. 'UNLOCK' /* VERY important: unlock GUI */
  90.  
  91. exit
  92.  
  93. SYNTAX:
  94.  
  95. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  96.  
  97. 'UNLOCK'
  98.  
  99. exit
  100.